{"version":3,"file":"static/chunks/pages/analytics/pairs/[id]-e7850f000b60c516.js","mappings":"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","sources":["webpack://_N_E/./src/components/CurrencyLogo/index.tsx","webpack://_N_E/./src/components/DoubleLogo/index.tsx","webpack://_N_E/./src/components/Image/index.tsx","webpack://_N_E/./node_modules/@visx/gradient/esm/gradients/LinearGradient.js","webpack://_N_E/./src/components/LineGraph/index.tsx","webpack://_N_E/./src/components/Logo/index.tsx","webpack://_N_E/./src/components/Sidebar/index.tsx","webpack://_N_E/./src/features/analytics/AnalyticsContainer.tsx","webpack://_N_E/./src/features/analytics/Background.tsx","webpack://_N_E/./src/features/analytics/ChartCard.tsx","webpack://_N_E/./src/features/analytics/ColoredNumber.tsx","webpack://_N_E/./src/features/analytics/InfoCard.tsx","webpack://_N_E/./src/features/analytics/Tokens/Token/TransactionList.tsx","webpack://_N_E/./src/functions/cloudinary.ts","webpack://_N_E/./src/hooks/useHttpLocations.ts","webpack://_N_E/./src/hooks/useENSContentHash.ts","webpack://_N_E/./src/features/analytics/Pairs/Pair/PairChartCard.tsx","webpack://_N_E/./src/pages/analytics/pairs/[id].tsx","webpack://_N_E/?aa74"],"sourcesContent":["import { ChainId, Currency, WNATIVE } from '@sushiswap/core-sdk'\nimport React, { FunctionComponent, useMemo } from 'react'\n\nimport Logo from '../Logo'\nimport { WrappedTokenInfo } from '../../state/lists/wrappedTokenInfo'\nimport useHttpLocations from '../../hooks/useHttpLocations'\n\nconst BLOCKCHAIN = {\n [ChainId.ETHEREUM]: 'ethereum',\n [ChainId.BSC]: 'binanace',\n [ChainId.CELO]: 'celo',\n [ChainId.FANTOM]: 'fantom',\n [ChainId.HARMONY]: 'harmony',\n [ChainId.MATIC]: 'polygon',\n [ChainId.XDAI]: 'xdai',\n // [ChainId.OKEX]: 'okex',\n [ChainId.MOONRIVER]: 'moonriver',\n [ChainId.TELOS]: 'telos',\n}\n\nfunction getCurrencySymbol(currency) {\n if (currency.symbol.replace('/e', '') === 'WBTC') {\n return 'btc'\n }\n if (currency.symbol.replace('/e', '') === 'WETH') {\n return 'eth'\n }\n\n if (currency.symbol === 'WMOVR') {\n return 'movr'\n }\n\n if (currency.chainId === ChainId.AVALANCHE) {\n return currency.symbol.replace('/e', '').toLowerCase()\n }\n\n return currency.symbol.toLowerCase()\n}\n\nexport function getCurrencyLogoUrls(currency) {\n const urls = []\n\n if (currency.chainId in BLOCKCHAIN) {\n urls.push(\n `https://raw.githubusercontent.com/sushiswap/logos/main/network/${BLOCKCHAIN[currency.chainId]}/${\n currency.address\n }.jpg`\n )\n urls.push(\n `https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/${BLOCKCHAIN[currency.chainId]}/assets/${\n currency.address\n }/logo.png`\n )\n urls.push(\n `https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/${BLOCKCHAIN[currency.chainId]}/assets/${\n currency.address\n }/logo.png`\n )\n }\n\n return urls\n}\n\nconst AvalancheLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/avax.jpg'\nconst BinanceCoinLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg'\nconst EthereumLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg'\nconst FantomLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ftm.jpg'\nconst HarmonyLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/one.jpg'\nconst HecoLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/heco.jpg'\nconst MaticLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/polygon.jpg'\nconst MoonbeamLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg'\nconst OKExLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/okt.jpg'\nconst xDaiLogo =\n 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/xdai/assets/0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d/logo.png'\nconst CeloLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/celo.jpg'\nconst PalmLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/palm.jpg'\nconst MovrLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/movr.jpg'\nconst FuseLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fuse.jpg'\nconst TelosLogo =\n 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E.jpg'\n\nconst LOGO: { readonly [chainId in ChainId]?: string } = {\n [ChainId.ETHEREUM]: EthereumLogo,\n [ChainId.FANTOM]: FantomLogo,\n [ChainId.FANTOM_TESTNET]: FantomLogo,\n [ChainId.MATIC]: MaticLogo,\n [ChainId.MATIC_TESTNET]: MaticLogo,\n [ChainId.XDAI]: xDaiLogo,\n [ChainId.BSC]: BinanceCoinLogo,\n [ChainId.BSC_TESTNET]: BinanceCoinLogo,\n [ChainId.MOONBEAM_TESTNET]: MoonbeamLogo,\n [ChainId.AVALANCHE]: AvalancheLogo,\n [ChainId.AVALANCHE_TESTNET]: AvalancheLogo,\n [ChainId.HECO]: HecoLogo,\n [ChainId.HECO_TESTNET]: HecoLogo,\n [ChainId.HARMONY]: HarmonyLogo,\n [ChainId.HARMONY_TESTNET]: HarmonyLogo,\n [ChainId.OKEX]: OKExLogo,\n [ChainId.OKEX_TESTNET]: OKExLogo,\n [ChainId.ARBITRUM]: EthereumLogo,\n [ChainId.ARBITRUM_TESTNET]: EthereumLogo,\n [ChainId.CELO]: CeloLogo,\n [ChainId.PALM]: PalmLogo,\n [ChainId.PALM_TESTNET]: PalmLogo,\n [ChainId.MOONRIVER]: MovrLogo,\n [ChainId.FUSE]: FuseLogo,\n [ChainId.TELOS]: TelosLogo,\n}\n\ninterface CurrencyLogoProps {\n currency?: Currency\n size?: string | number\n style?: React.CSSProperties\n className?: string\n squared?: boolean\n}\n\nconst unknown = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/unknown.png'\n\nconst CurrencyLogo: FunctionComponent = ({\n currency,\n size = '24px',\n style,\n className = '',\n ...rest\n}) => {\n const uriLocations = useHttpLocations(\n currency instanceof WrappedTokenInfo ? currency.logoURI || currency.tokenInfo.logoURI : undefined\n )\n\n const srcs = useMemo(() => {\n if (!currency) {\n return [unknown]\n }\n\n if (currency.isNative || currency.equals(WNATIVE[currency.chainId])) {\n return [LOGO[currency.chainId], unknown]\n }\n\n if (currency.isToken) {\n const defaultUrls = [...getCurrencyLogoUrls(currency)]\n if (currency instanceof WrappedTokenInfo) {\n return [...defaultUrls, ...uriLocations, unknown]\n }\n return defaultUrls\n }\n }, [currency, uriLocations])\n\n return \n}\n\nexport default CurrencyLogo\n","import { Currency } from '@sushiswap/core-sdk'\nimport CurrencyLogo from '../CurrencyLogo'\nimport React from 'react'\nimport { classNames } from '../../functions'\n\ninterface DoubleCurrencyLogoProps {\n margin?: boolean\n size?: number\n currency0?: Currency\n currency1?: Currency\n className?: string\n logoClassName?: string\n}\n\nexport default function DoubleCurrencyLogo({\n currency0,\n currency1,\n className = '',\n logoClassName = '',\n size = 16,\n}: DoubleCurrencyLogoProps) {\n return (\n
\n \n \n
\n )\n}\n","import NextImage from 'next/image'\nimport { cloudinaryLoader } from '../../functions/cloudinary'\n\n// Cloudflare Loader\nconst normalize = (src) => {\n return src[0] === '/' ? src.slice(1) : src\n}\n\nconst cloudFlareLoader = ({ src, width, quality }) => {\n const params = [`width=${width}`]\n if (quality) {\n params.push(`quality=${quality}`)\n }\n const paramsString = params.join(',')\n return `/cdn-cgi/image/${paramsString}/${normalize(src)}`\n}\n\nconst shimmer = (w, h) => `\n\n \n \n \n \n \n \n \n \n \n \n`\n\nconst toBase64 = (str) => (typeof window === 'undefined' ? Buffer.from(str).toString('base64') : window.btoa(str))\n\nconst Image = ({\n src,\n width = undefined,\n height = undefined,\n layout = undefined,\n loader = undefined,\n style = undefined,\n ...rest\n}) => {\n const useBlur = parseInt(String(height), 10) >= 40 && parseInt(String(width), 10) >= 40\n return (\n
\n {useBlur ? (\n \n ) : (\n \n )}\n
\n )\n}\n\nexport default Image\n","import _pt from \"prop-types\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from 'react';\nexport default function LinearGradient(_ref) {\n var children = _ref.children,\n id = _ref.id,\n from = _ref.from,\n to = _ref.to,\n _x1 = _ref.x1,\n _y1 = _ref.y1,\n _x2 = _ref.x2,\n _y2 = _ref.y2,\n _ref$fromOffset = _ref.fromOffset,\n fromOffset = _ref$fromOffset === void 0 ? '0%' : _ref$fromOffset,\n _ref$fromOpacity = _ref.fromOpacity,\n fromOpacity = _ref$fromOpacity === void 0 ? 1 : _ref$fromOpacity,\n _ref$toOffset = _ref.toOffset,\n toOffset = _ref$toOffset === void 0 ? '100%' : _ref$toOffset,\n _ref$toOpacity = _ref.toOpacity,\n toOpacity = _ref$toOpacity === void 0 ? 1 : _ref$toOpacity,\n rotate = _ref.rotate,\n transform = _ref.transform,\n _ref$vertical = _ref.vertical,\n vertical = _ref$vertical === void 0 ? true : _ref$vertical,\n restProps = _objectWithoutPropertiesLoose(_ref, [\"children\", \"id\", \"from\", \"to\", \"x1\", \"y1\", \"x2\", \"y2\", \"fromOffset\", \"fromOpacity\", \"toOffset\", \"toOpacity\", \"rotate\", \"transform\", \"vertical\"]);\n\n var x1 = _x1;\n var x2 = _x2;\n var y1 = _y1;\n var y2 = _y2;\n\n if (vertical && !x1 && !x2 && !y1 && !y2) {\n x1 = '0';\n x2 = '0';\n y1 = '0';\n y2 = '1';\n }\n\n return /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", _extends({\n id: id,\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n gradientTransform: rotate ? \"rotate(\" + rotate + \")\" : transform\n }, restProps), !!children && children, !children && /*#__PURE__*/React.createElement(\"stop\", {\n offset: fromOffset,\n stopColor: from,\n stopOpacity: fromOpacity\n }), !children && /*#__PURE__*/React.createElement(\"stop\", {\n offset: toOffset,\n stopColor: to,\n stopOpacity: toOpacity\n })));\n}\nLinearGradient.propTypes = {\n id: _pt.string.isRequired,\n from: _pt.string,\n to: _pt.string,\n x1: _pt.oneOfType([_pt.string, _pt.number]),\n x2: _pt.oneOfType([_pt.string, _pt.number]),\n y1: _pt.oneOfType([_pt.string, _pt.number]),\n y2: _pt.oneOfType([_pt.string, _pt.number]),\n fromOffset: _pt.oneOfType([_pt.string, _pt.number]),\n fromOpacity: _pt.oneOfType([_pt.string, _pt.number]),\n toOffset: _pt.oneOfType([_pt.string, _pt.number]),\n toOpacity: _pt.oneOfType([_pt.string, _pt.number]),\n rotate: _pt.oneOfType([_pt.string, _pt.number]),\n transform: _pt.string,\n children: _pt.node,\n vertical: _pt.bool\n};","import AutoSizer from 'react-virtualized-auto-sizer'\nimport { useMemo } from 'react'\nimport { scaleLinear } from '@visx/scale'\nimport { LinePath } from '@visx/shape'\n\nimport { minBy, maxBy } from 'lodash'\nimport { LinearGradient } from '@visx/gradient'\n\ninterface LineGraphProps {\n data: {\n x: number\n y: number\n }[]\n stroke?:\n | {\n solid: string\n }\n | {\n gradient: {\n from: string\n to: string\n }\n }\n strokeWidth?: number\n}\n\ninterface GraphProps extends LineGraphProps {\n width: number\n height: number\n}\n\nfunction Graph({ data, stroke, strokeWidth, width, height }: GraphProps): JSX.Element {\n const xScale = useMemo(\n () =>\n scaleLinear({\n domain: [minBy(data, 'x')?.x, maxBy(data, 'x')?.x],\n range: [0, width],\n }),\n [JSON.stringify(data), width]\n )\n const yScale = useMemo(\n () =>\n scaleLinear({\n domain: [maxBy(data, 'y')?.y, minBy(data, 'y')?.y],\n range: [0, height],\n }),\n [JSON.stringify(data), height]\n )\n\n return (\n
\n \n {'gradient' in stroke && (\n \n )}\n xScale(d.x) ?? 0}\n y={(d) => yScale(d.y) ?? 0}\n stroke={'solid' in stroke ? stroke.solid : \"url('#gradient')\"}\n strokeWidth={strokeWidth}\n />\n \n
\n )\n}\n\nexport default function LineGraph({\n data,\n stroke = { solid: '#0993EC' },\n strokeWidth = 2,\n}: LineGraphProps): JSX.Element {\n return (\n <>\n {data && (\n \n {({ width, height }) => (\n \n )}\n \n )}\n \n )\n}\n","import React, { FC, useState } from 'react'\n\nimport { IconProps } from 'react-feather'\nimport Image from '../Image'\nimport { classNames } from '../../functions'\nimport { cloudinaryLoader } from '../../functions/cloudinary'\n\nconst BAD_SRCS: { [tokenAddress: string]: true } = {}\n\nexport type LogoProps = {\n srcs: string[]\n width: string | number\n height: string | number\n alt?: string\n} & IconProps\n\n/**\n * Renders an image by sequentially trying a list of URIs, and then eventually a fallback triangle alert\n */\nconst Logo: FC = ({ srcs, width, height, style, alt = '', className, ...rest }) => {\n const [, refresh] = useState(0)\n const src = srcs.find((src) => !BAD_SRCS[src])\n return (\n
\n {\n if (src) BAD_SRCS[src] = true\n refresh((i) => i + 1)\n }}\n width={width}\n height={height}\n alt={alt}\n layout=\"fixed\"\n className={classNames('rounded', className)}\n {...rest}\n />\n
\n )\n}\n\nexport default Logo\n","import NavLink from '../../components/NavLink'\nimport React from 'react'\n\nconst Sidebar = ({ items }) => {\n return (\n
\n {items.map((item, i) => (\n \n \n
{item.text}
\n
\n
\n ))}\n
\n )\n}\n\nexport default Sidebar\n","import Container from '../../components/Container'\nimport Head from 'next/head'\nimport Sidebar from '../../components/Sidebar'\n\nexport default function AnalyticsContainer({ children }): JSX.Element {\n return (\n <>\n \n SushiSwap Liquidity Pair (SLP) Analytics | Sushi\n \n \n\n \n \n
{children}
\n
\n \n )\n}\n","import Image from 'next/image'\nimport React from 'react'\nimport { classNames } from '../../functions'\n\ninterface BackgroundProps {\n background: 'dashboard' | 'bar' | 'farms' | 'pool' | 'pools' | 'token' | 'tokens'\n children: any\n}\n\nconst backgrounds = {\n dashboard: '/analytics-background-dashboard.jpg',\n bar: '/analytics-background-bar.jpg',\n farms: '/analytics-background-farms.jpg',\n pool: `/formal-invitation.svg`,\n pools: '/analytics-background-pools.jpg',\n token: `/happy-intersection.svg`,\n tokens: '/analytics-background-tokens.jpg',\n}\n\nexport default function Background({ background, children }: BackgroundProps) {\n return (\n
\n \n
{children}
\n
\n )\n}\n","import { classNames, formatNumber } from '../../functions'\nimport ColoredNumber from './ColoredNumber'\nimport LineGraph from '../../components/LineGraph'\n\ninterface ChartCardProps {\n header: string\n subheader: string\n figure: number\n change: number\n chart: any\n currentTimespan: string\n timespans: string[]\n setTimespan: Function\n}\n\nexport default function ChartCard({\n header,\n subheader,\n figure,\n change,\n chart,\n currentTimespan,\n timespans,\n setTimespan,\n}: ChartCardProps): JSX.Element {\n return (\n
\n
\n
\n
{subheader}
\n
{header}
\n
\n
\n
{formatNumber(figure, true, false)}
\n
\n \n
Past 24 Hours
\n
\n
\n
\n
\n {chart && }\n
\n
\n {timespans.map((timespan, i) => (\n setTimespan(timespan)}\n >\n {timespan}\n \n ))}\n
\n
\n )\n}\n","import { classNames, formatNumber, formatNumberScale, formatPercent } from '../../functions'\n\ninterface ColoredNumberProps {\n number: number\n scaleNumber?: boolean\n percent?: boolean\n className?: string\n}\n\nexport default function ColoredNumber({\n number,\n scaleNumber = true,\n percent = false,\n className = '',\n}: ColoredNumberProps): JSX.Element {\n if (isNaN(number) || number === Infinity) number = 0\n\n return (\n <>\n
= 0 ? 'text-green' : 'text-red', 'font-normal', className)}>\n {(number >= 0 ? '+' : '-') +\n (percent\n ? formatPercent(number).replace('-', '')\n : scaleNumber\n ? formatNumberScale(number, true).replace('-', '')\n : formatNumber(number, true, false).replace('-', ''))}\n
\n \n )\n}\n","import { formatNumber, formatPercent } from '../../functions'\nimport ColoredNumber from './ColoredNumber'\n\ninterface InfoCardProps {\n text: string\n number: number | string\n numberType?: 'usd' | 'text' | 'percent'\n percent: number\n}\n\nexport default function InfoCard({ text, number, numberType = 'usd', percent }: InfoCardProps): JSX.Element {\n function switchNumber() {\n switch (numberType) {\n case 'usd':\n return formatNumber(number, true, false)\n case 'text':\n return number\n case 'percent':\n return formatPercent(number)\n }\n }\n\n return (\n
\n
{text}
\n
\n
{switchNumber()}
\n \n
\n
\n )\n}\n","import { formatDateAgo, formatNumber, shortenAddress } from '../../../../functions'\nimport React from 'react'\nimport { useTable, usePagination, useSortBy } from 'react-table'\nimport { classNames } from '../../../../functions'\nimport { ArrowRightIcon, ArrowLeftIcon } from '@heroicons/react/outline'\n\nimport { useMemo } from 'react'\n\ninterface TransactionListProps {\n transactions: {\n symbols: {\n incoming: string\n outgoing: string\n }\n incomingAmt: number\n outgoingAmt: number\n address: string\n time: Date\n }[]\n}\n\nexport default function TransactionList({ transactions }: TransactionListProps): JSX.Element {\n const columns = useMemo(\n () => [\n {\n Header: 'Type',\n accessor: 'symbols',\n Cell: (props) => `Swap ${props.value?.incoming} for ${props.value?.outgoing}`,\n align: 'left',\n },\n {\n Header: 'Value',\n accessor: 'value',\n Cell: (props) => formatNumber(props.value, true),\n align: 'right',\n },\n {\n Header: 'Incoming',\n accessor: 'incomingAmt',\n align: 'right',\n },\n {\n Header: 'Outgoing',\n accessor: 'outgoingAmt',\n align: 'right',\n },\n {\n Header: 'Address',\n accessor: 'address',\n Cell: (props) => {shortenAddress(props.value)},\n align: 'right',\n },\n {\n Header: 'Time',\n accessor: 'time',\n Cell: (props) => formatDateAgo(props.value),\n align: 'right',\n },\n ],\n []\n )\n\n return (\n <>\n \n \n )\n}\n\nfunction Table({ columns, data }) {\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n prepareRow,\n rows,\n page,\n nextPage,\n previousPage,\n canPreviousPage,\n canNextPage,\n setPageSize,\n state: { pageIndex, pageSize },\n } = useTable(\n {\n columns,\n data,\n defaultCanSort: false,\n },\n useSortBy,\n usePagination\n )\n\n return (\n
\n
\n
\n \n {headerGroups.map((headerGroup) => (\n \n {headerGroup.headers.map((column, i) => (\n \n ))}\n \n ))}\n \n \n {page.map((row, i) => {\n prepareRow(row)\n return (\n \n {row.cells.map((cell, cI) => {\n return (\n \n )\n })}\n \n )\n })}\n \n
\n
\n
\n \n {column.render('Header')}\n
\n
\n \n
\n
\n \n {cell.render('Cell')}\n
\n \n
\n \n
\n
\n
\n
\n {`${pageSize * pageIndex + 1}-${pageSize * (pageIndex + 1)} of ${rows.length}`}\n
\n previousPage()}\n className={classNames(!canPreviousPage ? 'opacity-50 hover:cursor-default' : '', 'ml-3')}\n >\n \n \n nextPage()}\n className={classNames(!canNextPage ? 'opacity-50 hover:cursor-default' : '', 'ml-3')}\n >\n \n \n
\n
\n
\n )\n}\n","const normalize = (src) => {\n return src[0] === '/' ? src.slice(1) : src\n}\n\nexport const cloudinaryLoader = ({ src, width }) => {\n return `https://res.cloudinary.com/sushi-cdn/image/fetch/w_${width}/${normalize(src)}`\n}\n","import { contenthashToUri, uriToHttp } from '../functions/convert'\n\nimport { parseENSAddress } from '../functions/ens'\nimport useENSContentHash from './useENSContentHash'\nimport { useMemo } from 'react'\n\nexport default function useHttpLocations(uri: string | undefined): string[] {\n const ens = useMemo(() => (uri ? parseENSAddress(uri) : undefined), [uri])\n const resolvedContentHash = useENSContentHash(ens?.ensName)\n return useMemo(() => {\n if (ens) {\n return resolvedContentHash.contenthash ? uriToHttp(contenthashToUri(resolvedContentHash.contenthash)) : []\n } else {\n return uri ? uriToHttp(uri) : []\n }\n }, [ens, resolvedContentHash.contenthash, uri])\n}\n","import { useENSRegistrarContract, useENSResolverContract } from './useContract'\n\nimport { isZero } from '../functions'\nimport { namehash } from '@ethersproject/hash'\nimport { useMemo } from 'react'\nimport { useSingleCallResult } from '../state/multicall/hooks'\n\n/**\n * Does a lookup for an ENS name to find its contenthash.\n */\nexport default function useENSContentHash(ensName?: string | null): {\n loading: boolean\n contenthash: string | null\n} {\n const ensNodeArgument = useMemo(() => {\n if (!ensName) return [undefined]\n try {\n return ensName ? [namehash(ensName)] : [undefined]\n } catch (error) {\n return [undefined]\n }\n }, [ensName])\n const registrarContract = useENSRegistrarContract(false)\n const resolverAddressResult = useSingleCallResult(registrarContract, 'resolver', ensNodeArgument)\n const resolverAddress = resolverAddressResult.result?.[0]\n const resolverContract = useENSResolverContract(\n resolverAddress && isZero(resolverAddress) ? undefined : resolverAddress,\n false\n )\n const contenthash = useSingleCallResult(resolverContract, 'contenthash', ensNodeArgument)\n\n return {\n contenthash: contenthash.result?.[0] ?? null,\n loading: resolverAddressResult.loading || contenthash.loading,\n }\n}\n","import { useBlock, useDayData, useSushiPairs } from '../../../../services/graph'\nimport { useMemo, useState } from 'react'\nimport ChartCard from '../../ChartCard'\nimport { useActiveWeb3React } from '../../../../services/web3'\n\ninterface PairChartCardProps {\n type: 'liquidity' | 'volume'\n name: string\n pair: string\n}\n\nconst types = {\n liquidity: {\n header: 'Liquidity',\n getData: (pair, pair1d, pair2d, dayData) => ({\n figure: pair?.reserveUSD,\n change: (pair?.reserveUSD / pair1d?.reserveUSD) * 100 - 100,\n chart: dayData?.sort((a, b) => a.date - b.date).map((day, i) => ({ x: i, y: Number(day.liquidityUSD) })),\n }),\n },\n volume: {\n header: 'Volume',\n getData: (pair, pair1d, pair2d, dayData) => ({\n figure: pair?.volumeUSD - pair1d?.volumeUSD,\n change: ((pair?.volumeUSD - pair1d?.volumeUSD) / (pair1d?.volumeUSD - pair2d?.volumeUSD)) * 100 - 100,\n chart: dayData?.sort((a, b) => a.date - b.date).map((day, i) => ({ x: i, y: Number(day.volumeUSD) })),\n }),\n },\n}\n\nexport default function PairChartCard(props: PairChartCardProps): JSX.Element {\n const [chartTimespan, setChartTimespan] = useState('1M')\n const chartTimespans = ['1W', '1M', 'ALL']\n\n const { chainId } = useActiveWeb3React()\n\n const type = types[props.type]\n\n const block1d = useBlock({ daysAgo: 1, chainId })\n const block2d = useBlock({ daysAgo: 2, chainId })\n\n const pair = useSushiPairs({ variables: { where: { id: props.pair } }, shouldFetch: !!props.pair, chainId })?.[0]\n\n const pair1d = useSushiPairs({\n chainId,\n variables: { block: block1d, where: { id: props.pair } },\n shouldFetch: !!props.pair && !!block1d,\n })?.[0]\n\n const pair2d = useSushiPairs({\n variables: { block: block2d, where: { id: props.pair } },\n shouldFetch: !!props.pair && !!block2d,\n chainId,\n })?.[0]\n\n const dayData = useDayData({\n first: chartTimespan === '1W' ? 7 : chartTimespan === '1M' ? 30 : undefined,\n chainId,\n })\n\n const data = useMemo(() => type.getData(pair, pair1d, pair2d, dayData), [pair, pair1d, pair2d, dayData])\n\n return (\n \n )\n}\n","import React, { useMemo } from 'react'\nimport AnalyticsContainer from '../../../features/analytics/AnalyticsContainer'\nimport { useRouter } from 'next/router'\nimport DoubleCurrencyLogo from '../../../components/DoubleLogo'\nimport { useBlock, useNativePrice, useSushiPairs, useTransactions } from '../../../services/graph'\nimport { useCurrency } from '../../../hooks/Tokens'\nimport { times } from 'lodash'\nimport CurrencyLogo from '../../../components/CurrencyLogo'\nimport { formatNumber, shortenAddress } from '../../../functions'\nimport PairChartCard from '../../../features/analytics/Pairs/Pair/PairChartCard'\nimport InfoCard from '../../../features/analytics/InfoCard'\nimport { ExternalLink as LinkIcon } from 'react-feather'\nimport Link from 'next/link'\nimport TransactionList from '../../../features/analytics/Tokens/Token/TransactionList'\nimport Background from '../../../features/analytics/Background'\nimport useCopyClipboard from '../../../hooks/useCopyClipboard'\nimport { DuplicateIcon } from '@heroicons/react/outline'\nimport { CheckIcon } from '@heroicons/react/solid'\nimport { getExplorerLink } from '../../../functions/explorer'\nimport { useActiveWeb3React } from '../../../services/web3'\n\nexport default function Pair() {\n const router = useRouter()\n const id = (router.query.id as string).toLowerCase()\n\n const { chainId } = useActiveWeb3React()\n\n const [isCopied, setCopied] = useCopyClipboard()\n\n const block1d = useBlock({ daysAgo: 1, chainId })\n const block2d = useBlock({ daysAgo: 2, chainId })\n\n const pair = useSushiPairs({ chainId, variables: { where: { id } } })?.[0]\n const pair1d = useSushiPairs({ chainId, variables: { block: block1d, where: { id } }, shouldFetch: !!block1d })?.[0]\n const pair2d = useSushiPairs({ chainId, variables: { block: block2d, where: { id } }, shouldFetch: !!block2d })?.[0]\n\n const nativePrice = useNativePrice({ chainId })\n\n // For Transactions\n const transactions = useTransactions({ chainId, variables: { where: { id } } })\n const transactionsFormatted = useMemo(\n () =>\n transactions?.map((tx) => {\n const base = {\n value: tx.amountUSD,\n address: tx.to,\n time: new Date(Number(tx.timestamp) * 1000),\n }\n\n if (tx.amount0In === '0') {\n return {\n symbols: {\n incoming: tx.pair.token1.symbol,\n outgoing: tx.pair.token0.symbol,\n },\n incomingAmt: `${formatNumber(tx.amount1In)} ${tx.pair.token1.symbol}`,\n outgoingAmt: `${formatNumber(tx.amount0Out)} ${tx.pair.token0.symbol}`,\n ...base,\n }\n } else {\n return {\n symbols: {\n incoming: tx.pair.token0.symbol,\n outgoing: tx.pair.token1.symbol,\n },\n incomingAmt: `${formatNumber(tx.amount0In)} ${tx.pair.token0.symbol}`,\n outgoingAmt: `${formatNumber(tx.amount1Out)} ${tx.pair.token1.symbol}`,\n ...base,\n }\n }\n }),\n [transactions]\n )\n\n // For the logos\n const currency0 = useCurrency(pair?.token0?.id)\n const currency1 = useCurrency(pair?.token1?.id)\n\n // For the Info Cards\n const liquidityUSDChange = useMemo(() => (pair?.reserveUSD / pair1d?.reserveUSD) * 100 - 100, [pair, pair1d])\n\n const volumeUSD1d = useMemo(() => pair?.volumeUSD - pair1d?.volumeUSD, [pair, pair1d])\n const volumeUSD2d = useMemo(() => pair1d?.volumeUSD - pair2d?.volumeUSD, [pair1d, pair2d])\n const volumeUSD1dChange = useMemo(() => (volumeUSD1d / volumeUSD2d) * 100 - 100, [volumeUSD1d, volumeUSD2d])\n\n const tx1d = useMemo(() => pair?.txCount - pair1d?.txCount, [pair, pair1d])\n const tx2d = useMemo(() => pair1d?.txCount - pair2d?.txCount, [pair1d, pair2d])\n const tx1dChange = useMemo(() => (tx1d / tx2d) * 100 - 100, [tx1d, tx2d])\n\n const avgTrade1d = useMemo(() => volumeUSD1d / tx1d, [volumeUSD1d, tx1d])\n const avgTrade2d = useMemo(() => volumeUSD2d / tx2d, [volumeUSD2d, tx2d])\n const avgTrade1dChange = useMemo(() => (avgTrade1d / avgTrade2d) * 100 - 100, [avgTrade1d, avgTrade2d])\n\n const utilisation1d = useMemo(() => (volumeUSD1d / pair?.reserveUSD) * 100, [volumeUSD1d, pair])\n const utilisation2d = useMemo(() => (volumeUSD2d / pair1d?.reserveUSD) * 100, [volumeUSD2d, pair1d])\n const utilisation1dChange = useMemo(() => (utilisation1d / utilisation2d) * 100 - 100, [utilisation1d, utilisation2d])\n\n return (\n \n
\n
\n
\n
\n Analytics \n {'>'} \n Pairs \n {'> '} \n
\n
\n {pair?.token0?.symbol}-{pair?.token1?.symbol}\n
\n
\n
\n \n
\n \n
\n \n
\n
\n {pair?.token0?.symbol}-{pair?.token1?.symbol}\n
\n
Sushi Liquidity Pool
\n
\n
\n
{shortenAddress(id)}
\n
setCopied(id)}>\n {isCopied ? : }\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Pool Overview
\n
\n
\n \n \n
\n
\n {times(2).map((i) => (\n
\n
\n \n
{formatNumber([pair?.reserve0, pair?.reserve1][i])}
\n
{[pair?.token0, pair?.token1][i]?.symbol}
\n
\n
\n 1 {[pair?.token0, pair?.token1][i]?.symbol} = {formatNumber([pair?.token1Price, pair?.token0Price][i])}{' '}\n {[pair?.token1, pair?.token0][i]?.symbol} (\n {formatNumber([pair?.token1, pair?.token0][i]?.derivedETH * nativePrice, true)})\n
\n
\n ))}\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
Information
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {pair?.token0?.symbol}-{pair?.token1?.symbol} Address\n {pair?.token0?.symbol} Address{pair?.token1?.symbol} Address
\n
\n \n
\n {pair?.id}\n
\n \n \n \n \n
\n
\n
\n \n
\n {pair?.token0?.id}\n
\n \n \n \n \n
\n
\n
\n \n
\n {pair?.token1?.id}\n
\n \n \n \n \n
\n
\n
\n
\n
Transactions
\n
\n \n
\n
\n \n )\n}\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/analytics/pairs/[id]\",\n function () {\n return require(\"private-next-pages/analytics/pairs/[id].tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/analytics/pairs/[id]\"])\n });\n }\n "],"names":["BLOCKCHAIN","ChainId","getCurrencyLogoUrls","currency","urls","chainId","push","address","AvalancheLogo","BinanceCoinLogo","EthereumLogo","FantomLogo","HarmonyLogo","HecoLogo","MaticLogo","OKExLogo","PalmLogo","LOGO","unknown","size","style","className","rest","uriLocations","useHttpLocations","WrappedTokenInfo","logoURI","tokenInfo","undefined","srcs","useMemo","isNative","equals","WNATIVE","isToken","defaultUrls","width","height","alt","symbol","DoubleCurrencyLogo","currency0","currency1","logoClassName","classNames","toString","src","layout","loader","useBlur","parseInt","String","placeholder","blurDataURL","w","h","str","window","btoa","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","LinearGradient","_ref","children","id","from","to","_x1","x1","_y1","y1","_x2","x2","_y2","y2","_ref$fromOffset","fromOffset","_ref$fromOpacity","fromOpacity","_ref$toOffset","toOffset","_ref$toOpacity","toOpacity","rotate","transform","_ref$vertical","vertical","restProps","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","gradientTransform","offset","stopColor","stopOpacity","propTypes","Graph","data","stroke","strokeWidth","xScale","scaleLinear","domain","minBy","x","maxBy","range","JSON","stringify","yScale","y","gradient","LinePath","d","solid","LineGraph","BAD_SRCS","refresh","useState","find","cloudinaryLoader","onError","items","map","item","href","activeClassName","text","AnalyticsContainer","name","content","maxWidth","backgrounds","dashboard","bar","farms","pool","pools","token","tokens","Background","background","includes","backgroundImage","WebkitMaskImage","ChartCard","header","subheader","figure","change","chart","currentTimespan","timespans","setTimespan","formatNumber","number","percent","timespan","onClick","ColoredNumber","scaleNumber","isNaN","Infinity","formatPercent","replace","formatNumberScale","InfoCard","numberType","switchNumber","TransactionList","transactions","columns","Header","accessor","Cell","props","value","incoming","outgoing","align","shortenAddress","formatDateAgo","Table","getTableProps","getTableBodyProps","headerGroups","prepareRow","rows","page","nextPage","previousPage","canPreviousPage","canNextPage","setPageSize","state","pageIndex","pageSize","useTable","defaultCanSort","useSortBy","usePagination","headerGroup","getHeaderGroupProps","headers","column","getHeaderProps","render","row","getRowProps","cells","cell","cI","getCellProps","slice","normalize","uri","ens","parseENSAddress","resolvedContentHash","ensName","ensNodeArgument","namehash","error","registrarContract","useENSRegistrarContract","resolverAddressResult","useSingleCallResult","resolverAddress","result","resolverContract","useENSResolverContract","isZero","contenthash","loading","useENSContentHash","uriToHttp","contenthashToUri","types","liquidity","getData","pair","pair1d","pair2d","dayData","reserveUSD","sort","a","b","date","day","Number","liquidityUSD","volume","volumeUSD","PairChartCard","chartTimespan","setChartTimespan","useActiveWeb3React","type","block1d","useBlock","daysAgo","block2d","useSushiPairs","variables","where","shouldFetch","block","useDayData","first","Pair","router","useRouter","query","toLowerCase","isCopied","setCopied","useCopyClipboard","nativePrice","useNativePrice","useTransactions","transactionsFormatted","tx","base","amountUSD","time","Date","timestamp","amount0In","symbols","token1","token0","incomingAmt","amount1In","outgoingAmt","amount0Out","amount1Out","useCurrency","liquidityUSDChange","volumeUSD1d","volumeUSD2d","volumeUSD1dChange","tx1d","txCount","tx2d","tx1dChange","avgTrade1d","avgTrade2d","avgTrade1dChange","utilisation1d","utilisation2d","utilisation1dChange","back","times","CurrencyLogo","reserve0","reserve1","token1Price","token0Price","derivedETH","passHref","getExplorerLink","rel","__NEXT_P"],"sourceRoot":""}